package algoWing42.modelo;


public class Caza extends AvionEnemigo {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 7872911681426099764L;
	public static final int RADIO_CAZA = 30;
	public static final int VALOR_PUNTOS_CAZA = 30;
	public static final int ENERGIA_CAZA = 15;
	public static final int VELOCIDAD_CAZA = 1;
	public static final double PROB_DISPARAR_CAZA = 0.03;
	
    public Caza(int x, int y) {
        super(x, y, RADIO_CAZA); 
        inicializarCaza();
    }

    public Caza(Punto posicion) {
        super(posicion.getX(), posicion.getY(), RADIO_CAZA);
        inicializarCaza();
    }

    private void inicializarCaza() {
        this.valorEnPuntos = VALOR_PUNTOS_CAZA;
        this.energia = ENERGIA_CAZA;
    }

    @Override
    public void vivir() {
        this.mover();

        double nroRandom = Math.random();

        if (nroRandom < PROB_DISPARAR_CAZA) {
            this.dispararTorpedoSimple();
        }
    }

    @Override
    protected void mover() {
    	 if(this.getY()>=Juego.LARGO){ 
             this.setY(5);}
             else{
    	this.moverEnDireccion(0, VELOCIDAD_CAZA);}
    }

    private void dispararTorpedoSimple() {
        Torpedo torpedo = new Torpedo(this.getArea().getPosicion(), false);
        Juego.singleton().agregarDisparoEnemigo(torpedo);
    }

    @Override
    protected void destruir() {
        super.destruir();
        this.dejarEnergia();
    }

    private void dejarEnergia() {
        Energia energia = new Energia(this.getArea().getPosicion());
        Juego.singleton().agregarItem(energia);
    }   
}
